package com.mydomain.Bodega;
// Generated 28/05/2012 10:45:58 PM by Hibernate Tools 3.2.2.GA

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * BienCabecera generated by hbm2java
 */
@Entity
@Table(name = "bien_cabecera", schema = "public")
public class BienCabecera implements java.io.Serializable {

	private long bienCodigoCabecera;
	private String bienCodigIngreso;
	private Date bienFechaIngreso;
	private String bienProveedor;
	private Set<BienDetalle> bienDetalles = new HashSet<BienDetalle>(0);

	public BienCabecera() {
	}

	public BienCabecera(long bienCodigoCabecera) {
		this.bienCodigoCabecera = bienCodigoCabecera;
	}
	public BienCabecera(long bienCodigoCabecera, String bienCodigIngreso,
			Date bienFechaIngreso, String bienProveedor,
			Set<BienDetalle> bienDetalles) {
		this.bienCodigoCabecera = bienCodigoCabecera;
		this.bienCodigIngreso = bienCodigIngreso;
		this.bienFechaIngreso = bienFechaIngreso;
		this.bienProveedor = bienProveedor;
		this.bienDetalles = bienDetalles;
	}

	@Id
	@Column(name = "bien_codigoCabecera", unique = true, nullable = false, precision = 10, scale = 0)
	@NotNull
	public long getBienCodigoCabecera() {
		return this.bienCodigoCabecera;
	}

	public void setBienCodigoCabecera(long bienCodigoCabecera) {
		this.bienCodigoCabecera = bienCodigoCabecera;
	}

	@Column(name = "bien_codig_ingreso", length = 10)
	@Length(max = 10)
	public String getBienCodigIngreso() {
		return this.bienCodigIngreso;
	}

	public void setBienCodigIngreso(String bienCodigIngreso) {
		this.bienCodigIngreso = bienCodigIngreso;
	}
	@Temporal(TemporalType.DATE)
	@Column(name = "bien_fecha_ingreso", length = 13)
	public Date getBienFechaIngreso() {
		return this.bienFechaIngreso;
	}

	public void setBienFechaIngreso(Date bienFechaIngreso) {
		this.bienFechaIngreso = bienFechaIngreso;
	}

	@Column(name = "bien_proveedor", length = 150)
	@Length(max = 150)
	public String getBienProveedor() {
		return this.bienProveedor;
	}

	public void setBienProveedor(String bienProveedor) {
		this.bienProveedor = bienProveedor;
	}
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "bienCabecera")
	public Set<BienDetalle> getBienDetalles() {
		return this.bienDetalles;
	}

	public void setBienDetalles(Set<BienDetalle> bienDetalles) {
		this.bienDetalles = bienDetalles;
	}

}
